function cache_json()
{
	var s_cache = [];
	function input(json) {
		// s_cache.join(json)
		s_cache = json;
	}
}
cache= new cache_json()
var index = 0;
function build_group_list_from_json(json)
{
	// <div id="group1"	onclick="clk('group1')">
	//		<div class="fun-title">Item group 1</div>
	// 		<ul class="nav nav-sidebar fun_list">
	// 			<li><a href="#">Item1-1</a></li>
	// 			<li><a href="#">Item1-2</a></li>
	// 			<li><a href="#">Item1-3</a></li>
	// 		</ul>
	//  </div>

	var group = document.getElementById('fun_group');

	var ediv = document.createElement('div');
	ediv.id = json.title
	ediv.onclick = function(){clk(json.title)}; 
	
	var edivt = document.createElement('div');
	edivt.className = "fun-title"
	edivt.innerHTML = json.title

	var eul = document.createElement('ul');
	eul.className = "nav nav-sidebar fun_list"
		
	for (var i in json.fun_list) {
		eli = document.createElement('li');
		eli.innerHTML = "<a href=\"#\">" + json.fun_list[i].text + "</a>"
		// 闭包
		eli.onclick = 
			function(i) {
				return function() {
					item_clk(
						json.url,
						JSON.stringify(json.fun_list[i].request))
					update_editbox(
						json.url,
						JSON.stringify(json.fun_list[i].request))
				}
			}(i)
		eul.appendChild(eli)
	}
	ediv.appendChild(edivt)
	ediv.appendChild(eul)
	group.appendChild(ediv)
	
}
function build_group_list_from_json1(json)
{
	var group = document.getElementById('fun_group');
	var list = document.createElement('div');
	var divf = document.createElement('ul');
	// divf.innerHTML = "<li><a href=\"#\">" + json.title+ "</a></li>"
	divf.innerHTML = "<li class=\"active\"><a href=\"#\">" + json.title + "</a></li>"
	divf.id = json.title
	divf.appendChild(list)
	group.appendChild(divf)
	list.className ='fun_list'
	console.log(json)

	divf.onclick = function(){clk(json.title)}; 


	// console.log("abc")
	// 遍历该json内容，并生成列表
	var input;
	var request_text;
	console.log(json.url);

	ul = document.createElement('ul');
	ul.className = 'nav nav-sidebar'
	for (var i in json.fun_list) {
		input = document.createElement('li');
		input.innerHTML=json.fun_list[i].text

		// 闭包
		input.onclick = 
			function(i) {
				return function() {
					item_clk(
						json.url,
						JSON.stringify(json.fun_list[i].request))
					update_editbox(
						json.url,
						JSON.stringify(json.fun_list[i].request))
				}
			}(i)
		input.innerHTML = "<a href=\"#\">" + json.fun_list[i].text + "</a>"
		ul.appendChild(input)
	}
	list.appendChild(ul)
}


// function on_success(data)
// {
// 	var i++;
// 	return function _on_success(i) {
// 		data = eval('(' + htmlobj.responseText + ')');
// 		build_group_list_from_json(data);	
// 	}
// }
function load_json_file(file_name)
{
	var result = 0;
	var data;
	htmlobj = $.ajax(
		{
			type : "GET",
			url : file_name,
			async : false,  // 用异步模式有时候得不到数据
			// success : on_success(data),
			// success : function(data1){ 
			// 	data = eval('(' + htmlobj.responseText + ')');
			// 	// console.log("-------" + htmlobj.responseText)
			// 	build_group_list_from_json(data);
			// },
			error: function(){ 
				result = 'load '+ file_name +' file error';
			}
		}
	);
	// if (result != 0) {
	// 	alert(result)
	// 	return ;
	// }
	data = eval('(' + htmlobj.responseText + ')');
	build_group_list_from_json(data);
	//
	// var json =  JSON.parse(htmlobj.responseText)
	// console.log(json.fun_list[0].wml)
	// console.log(json.fun_list[0].request.fun)
}

function main_load(root_json)
{
	var result = 0;
	var data;
	htmlobj = $.ajax(
		{
			type : "POST",
			url : root_json,
			async : true,
			success : function(data){ 
				data = eval('(' + htmlobj.responseText + ')');
				// // 遍历所有要载入的文件
				for (var i in data.file_list) {
					console.log(data.file_list[i].name)
					load_json_file(data.file_list[i].name);
				}
			},
			error: function(){ 
				result = 'load "all.json" file error';
			}
		}
	);
}


function img_load()
{
	var data;

	// htmlobj = $.ajax(
	// 	{
	// 		type : "POST",
	// 		url : "logo.bmp",
	// 		async : true,
	// 		success : function(data){
	// 			console.log("success")
	// 		},
	// 		error: function(){ 
	// 			result = 'load "all.json" file error';
	// 		}
	// 	}
	// );
	document.getElementById("load-img").src = "logo.bmp";
}

function img_load2()
{
	var data;

	// htmlobj = $.ajax(
	// 	{
	// 		type : "POST",
	// 		url : "logo2.bmp",
	// 		async : true,
	// 		success : function(data){
	// 			console.log("success")
	// 		},
	// 		error: function(){ 
	// 			result = 'load "all.json" file error';
	// 		}
	// 	}
	// );
	document.getElementById("load-img").src = "logo2.bmp";
}
function update_graph()
{
	var result = 0;

	htmlobj = $.ajax(
		{
			type : "POST",
			url : "otdr-min.json",
			async : false,
			success : function(data){
				console.log("success")
			},
			error: function(){ 
				result = 'load "all.json" file error';
			}
		}
	);
	var data = [[0,0]]
	json_data = eval('(' + htmlobj.responseText + ')');
	max = eval(json_data.data).length
	step = (max / 1000).toFixed(0) - 1;
	limit = max - step
	// console.log(max + "   " + step + "limit " + limit)
	// for (var i in json_data.data) {
		// console.log(json_data.data[i])
	// 	data.push([i, json_data.data[i]]);
	// }
	// console.log(length(json_data.data))
	for (var i = 0; i < limit; i+=step) {
		data.push([i, json_data.data[i]]);
	}
	
	var g = new Dygraph(document.getElementById("div_g2"), data,
                          {
                            drawPoints: true,
                            showRoller: true,
                            valueRange: [-2.0, 2],
                            labels: ['Time', 'Random']
                          });	
	
	// g.updateOptions( );
}

function clk(the_id)
{
	var items = document.getElementsByClassName("fun_list");
	for (var i=0; i<items.length; i++) {
        items[i].style.display = 'none';
    }

    var clked = document.getElementById(the_id);
    var items = clked.getElementsByClassName("fun_list");
	for (var i=0; i<items.length; i++) {
        items[i].style.display = 'block';
    }
    console.log("----" + items.length)

}

function item_clk(url_addr, json_str)
{
	var result = 0;
	var data;
	var htmlobj = $.ajax(
		{
			type : "POST",
			url : url_addr,
			data : json_str,
			async : true,
			success : function(data){ 
				// k = eval('(' + htmlobj.responseText + ')');
				
				var tdiv = document.getElementById('recv_box');
				recv_box.value = htmlobj.responseText
				
				console.log(htmlobj.responseText)
			},
			error: function(){ 
				// result = 'load '+ json_str +' file error';
				var tdiv = document.getElementById('recv_box');
				recv_box.value = htmlobj.responseText
				console.log(htmlobj.responseText)
			}
		}
	);
}

function update_editbox(url_addr, json_str)
{
	var tdiv = document.getElementById('send_box');
	// tdiv.innerHTML = json_str;
	tdiv.value = json_str;
}
